1. Field
The present invention relates generally to the operation of device, and more particularly, to a system for application priority based on device operating mode.
2. Description of the Related Art
Advances in technology have resulted in the development and deployment of extensive data networks. These networks include both public data networks, such as the Internet, and specialized networks, such as wireless telecommunication networks. Users of these networks have the ability to access a wide variety of information and services that are available. For example, wireless device owners may now download a wide variety of applications for execution on their devices.
Resource allocation has become increasingly important as a result of the increase in downloadable applications. Device resources include displays, keypads, sound processors, modems, storage devices, communication channels, and other types of resources. Because each device has a limited number of resources, the way those resources are allocated to competing applications determines how the device operates. For example, a wireless telephone may be in a voice call, a data call, running an application, or handling an SMS message, and the device needs to know how to allocate its resources to various applications given a particular operating condition.
A very important resource for most devices is referred to as the “top visible” resource (TVR) (also sometimes referred to as “having scope”). The top visible resource generally comprises the device's display and the device's input device (i.e., keypad), which allow applications to represent to the user that they are the current focus of the device. For example, an application that is allocated the top visible resource is able to interact with the device user via the display and keypad.
There is a need to effectively arbitrate between competing applications executing on a device to determine which application should get access to the top visible resource. For example, the operation of the device, which determines the “user experience”, is determined by how applications are allocated the top visible resource.
In current systems, the top visible resource is allocated to an application according to static rules. For example, in a telephone handset device, applications are not allowed to start when a phone call is in progress. Typically, an application's access to the top visible resource is controlled by hard-coded allocation rules that do not take into account the dynamic environment in which the current device operates.
Therefore, what is needed is a dynamic application priority system that operates to determine which application in a device is allocated the top visible resource based on the operating environment of the device. The system should also provide a mechanism to allow third parties, such as network carriers, to have an input as to how the top visible resource on the device is allocated, so that the user experience provided by the device can be dynamically controlled.